package com.hsgene.product.persistence;

import com.hsgene.product.condition.PackageCondition;
import com.hsgene.product.condition.ReportTemplateCondition;
import com.hsgene.product.domain.GeneticTestingReportTemplate;
import com.hsgene.product.dto.GeneticTestingReportTemplateDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface GeneticTestingReportTemplateMapper {
    int deleteByPrimaryKey(String id);

    int insert(GeneticTestingReportTemplate record);

    int insertSelective(GeneticTestingReportTemplate record);

    GeneticTestingReportTemplate selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(GeneticTestingReportTemplate record);

    int updateByPrimaryKey(GeneticTestingReportTemplate record);
    /**
     *列表查询总数
     * @author FX
     * @date 2018/11/5 13:56
     * @param condition
     * @return
     */
    int getListCount(@Param("condition") ReportTemplateCondition condition);
    /**
     *查询列表
     * @author FX
     * @date 2018/11/5 15:43
     * @param condition
     * @return
     */
    List<GeneticTestingReportTemplateDto> getList(@Param("condition") ReportTemplateCondition condition);
    /**
     *
     * 根据套餐id和机构id查找模板
     * @author FX
     * @date 2018/11/5 16:00
     * @param geneticTestingReportTemplate
     * @return
     */
    GeneticTestingReportTemplate getByPackageIdAndAgenceId(GeneticTestingReportTemplate geneticTestingReportTemplate);
    /**
     *批量逻辑删除
     * @author FX
     * @date 2018/11/5 16:52
     * @param testingReportTemplate
     * @return
     */
    void deleteTepleteMore(@Param("testingReportTemplates") List<GeneticTestingReportTemplate> testingReportTemplates);
    /**
     *花生仁获取接口
     * @author FX
     * @date 2018/11/5 17:12
     * @param condition
     * @return
     */
    List<GeneticTestingReportTemplateDto> getListPean(@Param("condition") ReportTemplateCondition condition);
}